Abstract Interpretation using a Language of Symbolic Approximation
نویسندگان
چکیده
The traditional abstract domain framework for imperative programs suffers from several shortcomings; in particular it does not allow precise symbolic abstractions. To solve these problems, we propose a new abstract interpretation framework, based on symbolic expressions used both as an abstraction of the program, and as the input analyzed by abstract domains. We demonstrate new applications of the framework: an abstract domain that efficiently propagates constraints across the whole program; a new formalization of functor domains as approximate translation, which allows the production of approximate programs, on which we can perform classical symbolic techniques. We used these to build a complete analyzer for embedded C programs, that demonstrates the practical applicability of the framework.
منابع مشابه
Logical approximation for program analysis
The abstract interpretation of programs relates the exact semantics of a programming language to a finite approximation of those semantics. In this article, we describe an approach to abstract interpretation that is based in logic and logic programming. Our approach consists of faithfully representing a transition system within logic and then manipulating this initial specification to create a ...
متن کاملAbstract Interpretation of Symbolic Execution with Explicit State Updates
Interpretation of Symbolic Execution with Explicit State Updates Richard Bubel, Reiner Hähnle, and Benjamin Weiß 1 Department of Computer Science and Engineering, Chalmers University of Technology and Göteborg University {bubel,reiner}@chalmers.se 2 Institute for Theoretical Computer Science, University of Karlsruhe [email protected] Abstract. Systems for deductive software verification model t...
متن کاملBilateral Algorithms for Symbolic Abstraction
Given a concrete domain C, a concrete operation τ : C → C, and an abstract domain A, a fundamental problem in abstract interpretation is to find the best abstract transformer τ : A → A that overapproximates τ . This problem, as well as several other operations needed by an abstract interpreter, can be reduced to the problem of symbolic abstraction: the symbolic abstraction of a formula φ in log...
متن کاملResearch Statement pdfauthor=Stefan Bucur
Interpretation from Concrete Semantics. Static analysis, and type inference in particular, is helpful for finding programming errors in dynamic languages, as they commonly lack the type information available to compiled languages. However, static analysis engines are implemented by hand, hence sharing the challenges of building a symbolic execution engine. To this end, I want to take the “inter...
متن کاملSymbolic Implementation of the Best Transformer
This paper shows how to achieve, under certain conditions, abstract-interpretation algorithms that enjoy the best possible precision for a given abstraction. The key idea is a simple process of successive approximation that makes repeated calls to a theorem prover, and obtains the best abstract value for a set of concrete stores that are represented symbolically, using a logical formula.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1712.10058 شماره
صفحات -
تاریخ انتشار 2017